Code excited linear predictive coding (CELP) is a well-known technique. This coding technique synthesizes speech by utilizing encoded excitation information to excite a linear predictive coding (LPC) filter. This excitation is found by searching through a table of excitation vectors on a frame-by-frame basis. The table, also referred to as codebook, is made up of vectors whose components are consecutive excitation sample. Each vector contains the same number of excitation samples as there are speech samples in a frame. The codebook is constructed as an overlapping table in which eht excitation vectors are defined by shifting a window along a linear array of excitation samples. The analysis is performed by first doing an LPC analysis on a speech frame to obtain a LPC filter that is then excited by the various candidate vectors in the codebook. The best candidate vector is chosen on how well its corresponding synthesis output matches a frame of speech. After the best match has been found, information specifying the best codebook entry and the filter are transmitted to the synthesizer. The synthesizer has a similar codebook and accesses the appropriate entry in that codebook and uses it to excite an identical LPC filter. In addition, it utilizes the best candidate excitation vector to update the codebook so that the codebook adapts to the speech.
The problem with this technique is that the codebook adapts very slowly during speech transitions such as from unvoiced regions to voiced regions of speech. Voiced regions of speech are characterized in that a fundamental frequency is present in the speech. This problem is particularly noticeable for women since the fundamental frequencies that can be generated by women are higher than those for men.